//创建一个空对象
var obj={};
//创建一个学生对象
var stu={
    name:'小明',
    age:18,
    sex:'男',
    sayHello:function (){
        console.log('Hello');
    }
}
//使用对象成员第一种方式
console.log(stu.name);
stu.sayHello();
//使用对象成员第二种方式
console.log(stu['age']);
stu['sayHello']();

//通过赋值的方式来添加对象成员
obj.name='水中天';
obj['age']=20;
obj.sayHello=function (){
    console.log("Hello")
}
obj['do']=function (){
    console.log("飞机")
}
//输出对象成员
console.log(obj.name);
console.log(obj.age);
obj.sayHello();
obj['do']();


//通过构造函数创建对象
function Student(a,b){
    this.name=a;
    this.age=b;
    this.print=function (){
        console.log(this.name+this.age);
    }
}
//添加静态成员
Student.class1='class1:';
console.log(Student.class1)
//使用Student()构造函数创建对象
var stu2=new Student('何鑫达',20);
stu2.print();


//通过 new Object()创建对象
var obj2=new Object();
obj2.name="07l";
obj2.age=20;
obj2.sayHello=function (){
    console.log("hello")
}//输出obj2对象成员
console.log(obj2.name+obj2.age)


//对象的遍历
/*for(var 变量 in 对象){
    具体操作
}*/
for(var i in stu){
    console.log(i+'---'+stu[i]);
}
//判断对象成员是否存在
var obj3={name:"水中天",age:20}
console.log('age' in obj3);//存在，输出true
console.log('name' in obj3);//存在，输出true
console.log('sex' in obj3);//不存在,输出false

//值类型和引用类型
//值类型
var zhi1=10;
var zhi2=zhi1;
zhi1++;
console.log(zhi2);//输出10
//引用类型
var zhiObj={zhi1:10};
var zhiObj2=zhiObj;
zhiObj.zhi1++;
console.log(zhiObj.zhi1);//输出11
